package gameobjects
{
	
	public class Map
	{
		//niz koji cuva da li postoji i sta postoji na mapi
		protected var towers:Vector.<Tower> = new Vector.<Tower>;
		
		//konstruktor mape,postavlja sve na null
		public function Map()
		{
			var i:int = 0;
	
			for(i=0 ; i<60 ; i++)
			{
				towers.push(null);
			}
		}
		
		//postavi kulu na polja x,y
		public function putTower(x:int,y:int,tower:Tower):void
		{
			if(towers[x*6 + y] == null)
			{
				towers[x*6 + y] = tower;
			}
			else throw new Error("Tile already occupied.");
		}
		
		//postavlja polje na null,nema vise kule
		public function removeTower(x:int,y:int):void
		{
			towers[x*6 + y] = null;
		}
		
		//vraca true ako je polje slobodno i false ako nije
		public function isAvailable(x:int,y:int):Boolean
		{
			if(towers[x*6 + y] == null)
				return true;
			return false;
		}
		
		//vraca referencu na kulu koja je na poziciji x,y
		public function getTower(x:int,y:int):Tower
		{
			return towers[x*6 + y];
		}
		
	}
}